微信小程序中wx.request传参问题,参数json格式 您所在的位置:网站首页 json数据转换报错content type 微信小程序中wx.request传参问题,参数json格式

微信小程序中wx.request传参问题,参数json格式

2024-03-14 08:54| 来源: 网络整理| 查看: 265

初用swagger文档的接口,对于一些参数说明有些不清楚,关键词如下:

1.Data type :string

2.parameter concent type:application/json

尝试1:

1 formSubmit:function(e){ 2 console.log(typeof(this.data.idCard)); //查看当前输入身份证号的类型 3 var idCard = JSON.stringify(this.data.idCard); //想将字符串转成json对象 4 console.log(typeof (this.data.idCard)); //查看是否转换成功 5 wx.request({ 6 url: "某接口地址", 7 method: "get", 8 data: { 9 "msg":this.data.idCard 10 }, 11 header: { 12 "Content-Type":"application/json;" 13 }, 14 success: function (res) { 15 console.log(res); 16 }, 17 }) 18 },

       结果报错,返回码500,上网查资料,可能有两个原因:内部服务器错误(后台测试了没有错),和我传参格式错了。果然,字符串并没有转换成功。

对于JSON.stringify正确用法应该是:

      JSON.stringify() 方法用于将 JavaScript 值(通常为对象和数组)转换为 JSON 字符串。所以字符串在此转换不了。

      那么我们换一个:JSON.parse() 方法用于将一个 JSON 字符串转换为对象。同样尝试也不行,因为这个字符串并不是json字符串。

      正确用法请移步:https://www.cnblogs.com/xmjs/p/12404303.html

      求助同学:得把它转成一个json对象。于是我又在网上搜索了一些方法,都没成功。

其中有我在看书的时候看到的eval函数,具体方法如下:

  var json = eval('(' + str + ')');   报错eval函数不存在?(存疑)

 

尝试2:决定手动改json格式 

formSubmit:function(e){ wx.request({ url: "某接口地址", method: "get", data: { "msg":{ "idCard": this.data.idCard, } }, header: { "Content-Type":"application/json;charset=UTF-8" }, success: function (res) { console.log(res.data); }, }) },

      成功调用接口,得到数据!

        data type在这里还没有用到,用法请移步:https://www.cnblogs.com/xmjs/p/12404303.html

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有